package cool.webstudy.async.service;

import cool.webstudy.common.model.dto.logger.api.CreateApiLogDBDTO;
import cool.webstudy.common.model.dto.logger.api.CreateApiLogESDTO;

import java.util.Date;

/**
 *
 * @author 莫振双
 * @date 2024/8/1 23:28
 * @description: 接口请求日志管理接口
 */
public interface ApiLoggerService {
    /**
     * @param date 日期
     * @return Boolean
     * @description: 判断日志表是否存在
     */
    Boolean isExistTable(Date date);
    /**
     * @param date 日期
     * @return Boolean
     * @description: 创建日志表
     */
    Boolean createTable(Date date);
    /**
     * @param dto
     * @return Boolean
     * @description: 记录接口请求记录日志至数据库
     */
    Boolean createApiLogToDB(CreateApiLogDBDTO dto);
    /**
     * @param date 日期
     * @return Boolean
     * @description: 判断日志索引是否存在
     */
    Boolean isExistIndex(Date date);
    /**
     * @param date 日期
     * @return Boolean
     * @description: 创建日志索引
     */
    Boolean createIndex(Date date);
    /**
     * @param dto
     * @return Boolean
     * @description: 记录接口请求记录日志至ES
     */
    Boolean createApiLogToES(CreateApiLogESDTO dto);
}
